﻿//1.计算下面程序输出的结果:


#include <stdio.h>

int main()
{
	printf("char = %zd\n", sizeof(char));//1
	printf("short = %zd\n", sizeof(short));//2
	printf("int = %zd\n", sizeof(int));//4
	printf("long = %zd\n", sizeof(long));//4	注意:sizeof(long) >= sizeof(int),所以不 long 靠谱,建议用 long long
	printf("long long = %zd\n", sizeof(long long));//8
	printf("float = %zd\n", sizeof(float));//4
	printf("double = %zd\n", sizeof(double));//8
	printf("unsigend char = %zd\n", sizeof(unsigned char));//1
	printf("unsigned short = %zd\n", sizeof(unsigned short));//2
	printf("unsigned int = %zd\n", sizeof(unsigned int));//4
	printf("unsigned long = %zd\n", sizeof(unsigned long));//4
	printf("unsigned long long = %zd\n", sizeof(unsigned long long));//8

	return 0;
}
//sizeof 是一个操作符
//计算的是类型创建的变量所占内存的大小，单位是字节

//size_t 是专门为 sizeof 设置的一个类型
//size_t 的本质是 unsigned int
//size_t 类型的数据在打印的时候，格式应该使用 %zd 或者 %d

//unsigned 放在一个类型的前面，表示该类型不带正负号，只表示 0 和正整数
//浮点型没有unsigned


//2.写出下面类型的存储范围：
//取值范围可以在VS文件中搜索 limits.h 中给出的定义查找

 /*
 *a. char的存储范围:-128	~ 127
 *b. unsigned char的存储范围:0 ~ 255
 *c. short的存储范围:-32768 ~ 32767
 *d. unsigned short的存储范围:0 ~ 65535
 *e. int的存储范围:-2147483648 ~ 2147483647
 *f. unsigned int的存储范围:0 ~ 4294967295
 */

//float.h 这个头⽂件中说明浮点型类型的取值范围